<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        *{
            margin: 0;
            padding: 0;
        }
        .big{
            width: 500px;
            height: 500px;
            background-color: red;
            /* padding-left: 10px;
            padding-top: 10px;
            padding-right: 10px;
            padding-bottom: 10px; */
            /* 可以简化为以下一行代码。 */
            /* padding: 10px; */
        }
        .small{
            width: 200px;
            height: 200px;
            background-color: blue;
            /* padding: 10px 5px 10px 10px ; */
            /* 此处顺序是上右下左。 */
            /* 此处的百分比是针对父标签“big”而言的。 */
            margin-left: 10px;
            margin-top: 10px;
            border-right: 10px dashed black;
        }
        .box{
            box-sizing: border-box;
            /* 怪异盒模型中，内容总体大小是不变的。 */
            width: 200px;
            height: 200px;
            background-color: green;
            border: 5px solid black;
            padding: 10px;
        }
        .top{
            width: 100px;
            height: 100px;
            background-color: red;
            margin-bottom: -20px;
        }

        .bottom{
            width: 100px;
            height: 100px;
            background-color: orange;
            margin-top: 10px;
        }

        /* 上下两个兄弟盒子的margin都为正取大，都为负取小，一正一负相加。 */
    .father{
        width: 200px;
        height: 200px;
        background-color: aqua;
        /* float: left; */
        /* 此处将这个盒子设定为浮动框。 */
    }

    .father::before{
        display: table;
        content: "";
    }
    /* 这段代码可以避免合并。 */
    .son{
        width: 50px;
        height: 50px;
        background-color: blueviolet;
        margin-top: 20px;
        /* 这里让整个盒子都向下挪动20px。
        因为如果父标签没有内边距或者边框把外边距分隔开，会存在合并。 */
        /* 只有普通文档流中块框的垂直外边距才会发生外边距合并。
        行内框、浮动框或绝对定位之外的外边距不能合并。 */
    }

    </style>
</head>
<body>
    <div class="big">
        <div class="small">

        </div>
    </div>

    <br>
    <div class="box">

    </div>
    <div class="top"></div>
    <div class="bottom"></div>

    <div class="father">
        <div class="son"></div>
    </div>
</body>
</html>
<!-- 在CSS里面，所有的HTML元素都可以看成是一个盒子。 -->
<!-- 盒子的内容(content)
盒子的内边距(padding) -->
